/*
自己选择的路 ,跪着也要走完。朋友们 , 虽然这个世界日益浮躁起来,只
要能够为了当时纯粹的梦想和感动坚持努力下去 , 不管其它人怎么样,我
们也能够保持自己的本色走下去。
To the world , you will be a person , but to a person , you
will be the world .                               ——AKPower
*/
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
#include <map>
#include <queue>
#include <cstdio>
#include <string>
#include <stack>
#include <set>
#define IOS ios::sync_with_stdio(false), cin.tie(0)
using namespace std;
typedef long long ll;
ll a[4];
string s;

void f(){
    s="";
    for(ll i=0;i<4;i++){
        s.push_back('0'+a[i]);
    }
}

int main()
{
    IOS;
    cin>>a[0]>>a[1]>>a[2]>>a[3];
    if(a[0]+a[1]+a[2]+a[3]==0)return 0;
    sort(a,a+4);
        for(ll i=0;i<4;i++){
            if(a[i]>0){
                swap(a[i],a[0]);
                break;
            }
        }
        ll las=0;
        bool st=true;
        do{
            f();
            if(a[0]!=las){
                if(st){
                    cout<<s;
                }
                else cout<<endl<<s;
            }
            else {
                cout<<" "<<s;
            }
            las=a[0];
            st=false;
        }while(next_permutation(a,a+4));
        cout<<endl;
    while(cin>>a[0]>>a[1]>>a[2]>>a[3]&&(a[0]||a[1]||a[2]||a[3])){
        cout<<endl;
        sort(a,a+4);
        for(ll i=0;i<4;i++){
            if(a[i]>0){
                swap(a[i],a[0]);
                break;
            }
        }
        ll las=0;
        bool st=true;
        do{
            f();
            if(a[0]!=las){
                if(st){
                    cout<<s;
                }
                else cout<<endl<<s;
            }
            else {
                cout<<" "<<s;
            }
            las=a[0];
            st=false;
        }while(next_permutation(a,a+4));
        cout<<endl;
    }
    getchar();
    getchar();
    return 0;
}
